/**
 * Project Name:renshuaipeng-auth
 * File Name:DateFunction.java
 * Package Name:ren.renshuaipeng.auth.common.beetl
 * Date:2015年12月26日 下午9:33:01
 * Copyright (c) 2015, niao.shuai123@163.com All Rights Reserved.
 */

package ren.renshuaipeng.auth.common.beetl;

import org.beetl.core.Context;
import org.beetl.core.Function;

import ren.renshuaipeng.util.DateUtil;

/**
 * ClassName: DateFunction.java<br/>
 * Function: . <br/>
 * Date: 2015年12月26日 下午9:33:01<br/>
 *
 * @author 任帅鹏（作者）
 * @version V1.00 （版本号）
 * @see
 * @since JDK 1.8
 */
public class DateFunction implements Function {

	/*
	 * <p>Title: call</p> <p>Description: </p>
	 * 
	 * @param paras
	 * 
	 * @param ctx
	 * 
	 * @return
	 * 
	 * @see org.beetl.core.Function#call(java.lang.Object[],
	 * org.beetl.core.Context)
	 */
	@Override
	public Object call(Object[] paras, Context ctx) {
		Object data = paras[0];
		if (data == null) {
			return "";
		}

		if (Long.class.isAssignableFrom(data.getClass())) {
			String format = "";
			if (paras[1] != null)
				format = paras[1].toString();
			return DateUtil.getDateStrByTimeAndFormat((Long) data, format.toString());
		} else {
			throw new RuntimeException("Arg Error:Type should be Long");
		}
	}
}
